Package GUI

Source Code of GUI.Main_GUI$EventsListener

package GUI;
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Dimension;
import java.awt.GridLayout;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.WindowConstants;

import Background.Contestant;
import Background.Lists;


import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;

/**
* @author Justin Sorrell
* @version 23 January, 2013
*
* This class will create the main page of the program.
*
*/
@SuppressWarnings("serial")
public class Main_GUI extends JFrame implements WindowListener{

  /**
   * A dimension field for use in setting the size of the frame.
   */
 
  private static final Dimension MY_SIZE = new Dimension(1000, 600);

  /**
   * This field is for the Border Layout that contains all my buttons.
   */
 
  private static Container MY_PANEL;
 
  /**
   * This field creates a flow layout which holds the buttons in the left side of the frame.
   */

  private static Container MY_GRID_LEFT;
 

  /**
   * A button to display the registration option.
   */
 
  public static JButton Registration;
 
  /**
   * A button to display the sign-in option.
   */
 
  public static JButton Sign_in;
 
  /**
   * A button to display the sign-out option.
   */
 
  public static JButton Sign_out;
 
  /**
   * A button to display the list of entrants when pressed.
   */
 
  public static JButton Contestant_List;

  /**
   * A button to display the list of judges when pressed.
   */

  public static JButton Judge_List;
 
  /**
   * A button to display the list of entrants when pressed.
   */
 
  public static JButton Entry_List;

  /**
   * A button to display the winners of the contest.
   */
 
  public static JButton Contest_Winners;
 
  /**
   * A button for the judges to select the contest winners.
   */
 
  public static JButton Select_Winners = new JButton("Select Winners");

  /**
   * A button for the attendees to submit an entry.
   */
 
  public static final JButton Entry = new JButton("Submit an entry");
 
 
  /**
   * A boolean to indicate if the user is a contestant.
   */
 
  public boolean isContestant = false;
 
  /**
   * A list to hold the strings of the user's information.
   */
 
  public ArrayList<String> my_list;
 
  /**
   * A button for the user to edit their information.
   */
 
  public static JButton Edit_Button = new JButton("Edit My Info");
 
  /**
   * The register button creates a new RegistrationGUI.
   */
 
  public static RegistrationGUI register;
 
  /**
   * The sign-in button creates a new SignInGUI.
   */
 
  public static SignInGUI sign_in;
 
  /**
   * A string to hold the name of the user.
   */
 
  private static String users_name;
 
  BufferedImage myPicture;
 
  JLabel picLabel;
 
  /**
   * Constructs the frame, giving it the title.
   */

  public Main_GUI()
    {
      super("JUST BE WEAVE");
      register = new RegistrationGUI();
      MY_PANEL = new JPanel(new BorderLayout());
    MY_GRID_LEFT = new JPanel(new GridLayout(7,1));
    Registration = new JButton("Registration");
    Sign_in = new JButton("Sign-in");
    Sign_out = new JButton("Sign-out");
    Contestant_List = new JButton("Contestant List");
    Judge_List = new JButton("Judge List");
    Entry_List = new JButton("List of Entries");
    Contest_Winners = new JButton("Contest Winners");
    Select_Winners = new JButton("Select Winners");
   
    }

  /**
   * The main method, invokes the JustBeWeave GUI. Command line arguments are ignored.
   *    * @param the_args Command line arguments.
   * @throws IOException
   */

  public static void main(final String[] the_args) throws IOException {
    final Main_GUI gui = new Main_GUI();
    gui.start();
    gui.setLocationRelativeTo(null);
  }
 
  /**
    * Creates some buttons.
    */

  private void createButtons() {

    Registration.addActionListener(new RegisterListener());
    Sign_in.addActionListener(new SignInListener(this));
    Sign_out.addActionListener(new SignOutListener());
    Contestant_List.addActionListener(new ContestantListListener());
    Judge_List.addActionListener(new JudgeListListener());
    Entry_List.addActionListener(new EntryListListener());
    Select_Winners.addActionListener(new SelectWinnersListener());
    Contest_Winners.addActionListener(new ContestWinnersListener());
    Entry.addActionListener(new EntryListener());
    add(MY_GRID_LEFT, BorderLayout.WEST);
    MY_GRID_LEFT.add(Sign_in);
    MY_GRID_LEFT.add(Registration);
    MY_GRID_LEFT.add(Contest_Winners);
      my_list = new ArrayList<String>();
   
  }

  public void addEvent() {
    Background.Event the_event = new Background.Event();
    the_event.setName("Semi-Annual Weaving Contest");
    the_event.setDate(2013, 21, 7);
    the_event.setLocation("Everett Event Center");
    the_event.setType("Custon Design Competition");
    the_event.makeEvent(MY_PANEL);
  }

  /**
   * Method that starts the program and sets up the GUI.
   * @throws IOException
   */

  public void start() throws IOException {
//    try {
//      myPicture = ImageIO.read(new File("src/Background/JustBeWeave.bmp"));
//    } catch (IOException e) {
//      e.printStackTrace();
//    }
    try {
    myPicture = ImageIO.read(new File("JustBeWeave.bmp"));
  } catch (IOException e) {
    e.printStackTrace();
  }
    Contestant currentContestant = null;
   
    picLabel = new JLabel(new ImageIcon( myPicture ));
    //picLabel.setBackground(Color.BLACK);
    MY_PANEL.add(picLabel, BorderLayout.CENTER);
    setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
    setVisible(true);
    createButtons();
    addEvent();
    add(MY_PANEL);
    setPreferredSize(MY_SIZE);
    Lists.readData();
    ArrayList<Contestant> contestantList = Lists.getContestantList();
   
    for (Contestant c : contestantList){//get the last contestant in the list.
      currentContestant = c;
      //Lists.addWinner(c);//everybody is a winner!
    }
    RegistrationGUI.registration_number = currentContestant.getRegistrationNumber() + 1;
   
   
    repaint();
    pack();

 
  }

 
  /**
   * Returns a reference to the RegistrationGUI.
   * @return register The RegistrationGUI
   */
 
  public static RegistrationGUI getRegistrationGUI(){
    return register;
   
  }
 
  /**
   * Returns a reference to the SignInGUI.
   * @return register The SignINGUI
   */
 
  public static SignInGUI getSignInGUI(){
    return sign_in;
   
  }

 
 
  /**
   * A method that can be called to add the sign-out button to the frame upon signing in.
   */
 
  public static void createSignOutButton(final String name){
    MY_GRID_LEFT.add(Sign_out);
    users_name = name;
  }

  /**
   * A method that can be called to add the sign-out button to the frame upon signing in.
   */
 
  public static void createEntryButton(){
    MY_GRID_LEFT.add(Entry);
  }

 
  /**
   * A method that can be called to add the contestant list button to the frame. Visible
   * when signed in as an organizer.
   */
 
  public static void createContestantListButton(){
    MY_GRID_LEFT.add(Contestant_List);
  }
 
  /**
   * A method that can be called to add the judge button to the frame. Visible
   * when signed in as an organizer.
   */
 
  public static void createJudgeListButton(){
    MY_GRID_LEFT.add(Judge_List);
  }

 
  /**
   * A method that can be called to add the entry list button to the frame. Visible
   * when signed in as a judge.
   */
 
  public static void createEntryListButton(){
    MY_GRID_LEFT.add(Entry_List);
  }
 
  /**
   * A method that can be called to add the sign-out button to the frame upon signing in.
   */
 
  public static void createSelectWinnersButton(){
    MY_GRID_LEFT.add(Select_Winners);
 
 
  /**
   * Inner class to bring up the window to start the registration process when
   * the button is pressed.
   * @author Justin Sorrell
   */

  class RegisterListener implements ActionListener {

    boolean isBuilt = false;

    /**
     * Action performed method that displays the about message.
     * @param the_event The event, ignored.
     */
   
    @Override
    public void actionPerformed(final ActionEvent the_event) {
     
      register = new RegistrationGUI();
      register.start();
      register.setLocationRelativeTo(null);
      repaint();
    }
  }
 
  /**
   * Inner class to bring up the window to start the sign in process when the button is
   * pressed.
   * @author Chris Petcher
   */

  class SignInListener implements ActionListener {


    private Main_GUI gui;
   
    /**
     * Constructor
     * @param the_gui
     */
   
    public SignInListener(final Main_GUI the_gui){
      gui = the_gui;
    }

    /**
     * Action performed method that displays the about message.
     * @param the_event The event, ignored.
     *
     */

   
    @Override
    public void actionPerformed(final ActionEvent the_event) {

        sign_in = new SignInGUI(gui);
        sign_in.start();
        sign_in.setLocationRelativeTo(null);
        repaint();
    }
  }

  /**
   * Inner class to sign out the current user when the button is pressed.
   * @author Chris Petcher
   */

  class SignOutListener implements ActionListener {


    /**
     * Action performed method that displays the about message.
     * @param the_event The event, ignored.
     */
   
    @Override
    public void actionPerformed(final ActionEvent the_event) {

      JOptionPane.showMessageDialog(null, "Thanks for using our product, " +
          users_name + ". Signing you out.");
      Sign_in.setEnabled(true);
      Sign_in.setText("Sign-in");
      Registration.setEnabled(true);
      MY_GRID_LEFT.remove(Sign_out);
      MY_GRID_LEFT.remove(Contestant_List);
      MY_GRID_LEFT.remove(Judge_List);
      MY_GRID_LEFT.remove(Entry_List);
      MY_GRID_LEFT.remove(Entry);
      MY_GRID_LEFT.remove(Select_Winners);
      MY_GRID_LEFT.remove(Edit_Button);
      repaint();
    }
  }

  /**
   * Inner class for the judges to select winners.
   * @author Chris Petcher
   */

  class SelectWinnersListener implements ActionListener {


    /**
     * Action performed method that displays the about message.
     * @param the_event The event, ignored.
     */
   
    @Override
    public void actionPerformed(final ActionEvent the_event) {
      SelectWinnersGUI selection = new SelectWinnersGUI();
      selection.start();
      selection.setLocationRelativeTo(null);
      repaint();

    }
  }
 
 
  /**
   * Inner class to display the list of contestants for the organizer.
   * @author Chris Petcher
   */

  class ContestantListListener implements ActionListener {

    /**
     * Action performed method that displays the about message.
     * @param the_event The event, ignored.
     */
   
    @Override
    public void actionPerformed(final ActionEvent the_event) {
      ListGUI list = new ListGUI();
      list.SetChoice(1);
      list.start();
      list.setLocationRelativeTo(null);
      repaint();

    }
  }

  /**
   * Inner class to display the list of judges for the organizer.
   * @author Chris Petcher
   */

  class JudgeListListener implements ActionListener {

    /**
     * Action performed method that displays the about message.
     * @param the_event The event, ignored.
     */
   
    @Override
    public void actionPerformed(final ActionEvent the_event) {
      ListGUI list = new ListGUI();
      list.SetChoice(2);
      list.start();
      list.setLocationRelativeTo(null);
      repaint();

    }
  }

 
  /**
   * Inner class to display the list of entries for the judges.
   * @author Chris Petcher
   */

  class EntryListListener implements ActionListener {


    /**
     * Action performed method that displays the about message.
     * @param the_event The event, ignored.
     */
   
    @Override
    public void actionPerformed(final ActionEvent the_event) {
      ListGUI list = new ListGUI();
      list.SetChoice(3);
      list.start();
      list.setLocationRelativeTo(null);
      repaint();

    }
  }
 
  /**
   * Inner class to Display the list of contest winners.
   * @author Chris Petcher
   */

  class ContestWinnersListener implements ActionListener {


    /**
     * Action performed method that displays the about message.
     * @param the_event The event, ignored.
     */
   
    @Override
    public void actionPerformed(final ActionEvent the_event) {
      ListGUI list = new ListGUI();
      list.SetChoice(4);
      list.start();
      list.setLocationRelativeTo(null);
      repaint();
    }
  }

  /**
   * Inner class for the judges to select winners.
   * @author Chris Petcher
   */

  class EntryListener implements ActionListener {

    /**
     * Action performed method that displays the about message.
     * @param the_event The event, ignored.
     */
   
    @Override
    public void actionPerformed(final ActionEvent the_event) {
      SubmitEntryGUI submission = new SubmitEntryGUI();
      submission.start();
      submission.setLocationRelativeTo(null);
      repaint();
     

    }
  }

  /**
   * Inner class to set the current event.
   * @author Chris Petcher
   */

  class EventsListener implements ActionListener {

    /**
     * Action performed method that displays the about message.
     * @param the_event The event, ignored.
     */
   
    @Override
    public void actionPerformed(final ActionEvent the_event) {
      repaint();

    }
  }

 
 
  /**
   * Creates the button to edit your information.
   * @param c The contestant to edit.
   */
 
  public static void createEditButton(final Contestant c){
    Edit_Button = new JButton("Edit My Info");
    MY_GRID_LEFT.add(Edit_Button);
    class Edit implements ActionListener{

      @Override
      public void actionPerformed(ActionEvent arg0) {
        register = new RegistrationGUI();
        register.start();
        register.setLocationRelativeTo(null);
        register.displayEdit(c);
      }
     
    }
    Edit_Button.addActionListener(new Edit());
   
  }

  @Override
  public void windowActivated(WindowEvent e) {
    // TODO Auto-generated method stub
   
  }

  @Override
  public void windowClosed(WindowEvent e) {
    Lists.saveData();
   
  }

  @Override
  public void windowClosing(WindowEvent e) {
    Lists.saveData();
   
  }

  @Override
  public void windowDeactivated(WindowEvent e) {
    // TODO Auto-generated method stub
   
  }

  @Override
  public void windowDeiconified(WindowEvent e) {
    // TODO Auto-generated method stub
   
  }

  @Override
  public void windowIconified(WindowEvent e) {
    // TODO Auto-generated method stub
   
  }

  @Override
  public void windowOpened(WindowEvent e) {
    // TODO Auto-generated method stub
   
  }

}
TOP

Related Classes of GUI.Main_GUI$EventsListener

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.